package cn.com.lsy.product.lepao.service;

import cn.com.lsy.product.lepao.model.entities.LpOrderformTbl;
import cn.com.lsy.product.lepao.model.entities.LpZhimaAccreditCallBackTbl;
import cn.com.lsy.product.lepao.model.mt.entities.*;

import java.math.BigDecimal;
import java.util.List;

public interface IFinanceService {

    List<SearchDepositListDto> selectDepositByPage(int start, int end, String status, String startTime, String endTime, String searchCondition);

    int selectDepositByCount(String status, String startTime, String endTime, String searchCondition);

    List<IncomeListDto> selectIncomeByPage(int start, int end, String status, String startTime, String endTime, String searchCondition, List<Integer> storeIdList, int storeId, int goodsType);

    int selectIncomeByCount(String status, String startTime, String endTime, String searchCondition, List<Integer> storeIdList, int storeId, int goodsType);

    OrderPayInfoDto selectOrderPayInfo(int orderId);

    List<BalanceListDto> selectBalanceByPage(int start, int end, String startTime, String endTime, String searchCondition);

    int selectBalanceByCount(String startTime, String endTime, String searchCondition);

    List<GiveListDto> selectGiveByPage(int start, int end, String startTime, String endTime, String searchCondition);

    int selectGiveByCount(String startTime, String endTime, String searchCondition);

    LpOrderformTbl selectOrderInfo(int orderId);

    boolean updateOrder(LpOrderformTbl param);

    BigDecimal selectIncomeSum(String status, String startTime, String endTime, String searchCondition, List<Integer> storeIdList, int storeId, int goodsType);

    BigDecimal selectDepositSum();

    List<LpZhimaAccreditCallBackTbl> selectZhimaAccreditCallBack(int ofId);

    int selectBuyCardTotal(int goodsType, String startTime, String endTime);

    BigDecimal selectReachargeTotal(String startTime, String endTime);

    List<TodayStoreIncomeDto> selectTodayStoreIncome(String startTime, String endTime);
}
